let safe_head (fmap f []) = safe_head [] = None
